Beacon slot allocation in prime

ABSTRACT

Systems and methods for efficiently allocating beacon slot among multiple nodes on multiple levels within a power line communication network are described. In various implementations, these systems and methods may be applicable to Power Line Communications (PLC). For example, a method may include performing, by a communications device, assigning beacon transmission times to nodes within the communication device&#39;s network. The assigned beacon transmission times comprise a beacon slot and frame pattern. The beacon slot and frame pattern ensure that each node does not transmit a beacon in a beacon slot that is adjacent to a beacon slot assigned to a parent or child node. A beacon transmission slot is reserved for a base node in every frame. The frames may be organized into thirty-two-frame superframes, wherein each frame comprises a base node beacon slot and four switch node beacon slots.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patent application Ser. No. 15/898,923, filed on Feb. 19, 2018, which is a continuation of and claims priority to U.S. patent application Ser. No. 13/651,338, filed on Oct. 12, 2012, now abandoned, which claims the benefit of U.S. Provisional Patent Application No. 61/547,396, filed on Oct. 14, 2011, the disclosures of each of which are hereby incorporated by reference herein in their entirety.

BACKGROUND

There are several different types of communication networks available today. For example, power line communications (PLC) include systems for communicating data over the same medium (i.e., a wire or conductor) that is also used to transmit electric power to residences, buildings, and other premises. Once deployed, PLC systems may enable a wide array of applications, including, for example, automatic meter reading and load control (i.e., utility-type applications), automotive uses (e.g., charging electric cars), home automation (e.g., controlling appliances, lights, etc.), and/or computer networking (e.g., Internet access), to name only a few.

For each different type of communications network, different standardizing efforts are commonly undertaken throughout the world. For instance, in the case of PLC communications may be implemented differently depending upon local regulations, characteristics of local power grids, etc. An example PLC standardization effort includes, for example, the Powerline-Related Intelligent Metering Evolution (PRIME) standard designed for OFDM-based (Orthogonal Frequency-Division Multiplexing) communications. The PRIME standard requires the base node as well as switch nodes to transmit beacons periodically. While the standard requires beacon transmission, the beacon slot allocation algorithm is left to the service provider's implementation.

SUMMARY

Systems and methods to efficiently allocate beacon slot among multiple nodes on multiple levels within a power line communication network are described. In an illustrative embodiment, a method may include performing, by a communications device, assigning beacon transmission times to nodes within the communication device's network. The assigned beacon transmission times comprise a beacon slot and frame pattern. The beacon slot and frame pattern ensure that each node does not transmit a beacon in a beacon slot that is adjacent to a beacon slot assigned to a parent or child node.

A beacon transmission slot is reserved for a base node in every frame. The frames may be organized into thirty-two-frame superframes, wherein each frame comprises a base node beacon slot and four switch node beacon slots.

If there are no more than thirty-two switch nodes in the network, then every other slot in each frame is assigned to a different node until all nodes have a designated beacon transmission time. In one embodiment, a second beacon slot and fourth beacon slot in each frame is assigned to a different node until all nodes have a designated beacon transmission slot and pattern. A first beacon slot and a third beacon slot in each frame are reserved as unassigned.

If there are no more than sixty-four switch nodes in the network, then a third beacon slot in each frame is assigned to a different node on a first level below the base node. A first beacon slot, a second beacon slot, and a fourth beacon slot in each frame are reserved as unassigned. A first switch node beacon slot and a third switch node beacon slot in each frame may be assigned to a different node on a second level below the base node. When a parent node on the first level has a child node on the second level, and when both the parent node and the child node are assigned to the same beacon slot, then different frame patterns may be used to avoid beacon transmission conflicts. A first frame pattern is assigned to the parent node, and a second frame pattern is assigned to the child node, wherein the second frame pattern prevents the child node from transmitting a beacon in the same frame as the parent node.

If there are more than sixty-four switch nodes in the network then the beacon slot and frame patterns may be reused and assigned beacon to another node that is at least n-levels away, such as two levels away. Alternatively, or additionally, the beacon slot and frame pattern assigned to a first node may also be assigned to a second node that is on the same level below the base node as the first node, if the first node and the second node do not share a same parent node.

The solution described herein preserves the parent-child switch node relationship by not allocating the same slot and pattern for beacon transmissions. It also allows for sufficient turnaround time between reception and transmission of beacon at a switch node, and thereby mitigates interference from other beacon transmissions.

BRIEF DESCRIPTION OF THE DRAWINGS

Having thus described the invention(s) in general terms, reference will now be made to the accompanying drawings, wherein:

FIG. 1 is a diagram of a PLC system according to some embodiments.

FIG. 2 is a block diagram of a PLC device or modem according to some embodiments.

FIG. 3 is a block diagram of a PLC gateway according to some embodiments.

FIG. 4 is a block diagram of a PLC data concentrator according to some embodiments.

FIG. 5 illustrates a subnetwork according to an example embodiment.

FIG. 6 illustrates the structure of a MAC frame according to one embodiment.

FIG. 7 illustrates an example distribution of thirty-two switch nodes using slots 2 and 4.

FIG. 8 illustrates a portion of a subnetwork having more than thirty-two switch nodes spread across multiple levels.

FIG. 9 is a table illustrating how switch nodes on multiple levels can be distributed to support more than thirty-two switch nodes.

FIG. 10 illustrates another example of a beacon slot allocation policy according to another embodiment using slot, time, and spatial separation.

DETAILED DESCRIPTION

The inventions now will be described more fully hereinafter with reference to the accompanying drawings. The inventions may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the inventions to a person of ordinary skill in the art. A person of ordinary skill in the art may be able to use the various embodiments of the inventions.

In various embodiments, the systems and methods described herein may be applicable to a wide variety of communication environments, including, but not limited to, those involving Power Line Communications (PLC), wireless communications (e.g., cellular, Wi-Fi, WiMax, etc.), wired communications (e.g., Ethernet, etc.), or the like. For ease of explanation, several examples discussed below are described specifically in the context of PLC. As a person of ordinary skill in the art will recognize in light of this disclosure, however, certain techniques and principles disclosed herein may also be used in other communication environments.

FIG. 1 depicts an electric power distribution system according to some example embodiments. Medium voltage (MV) power lines 103 from substation 101 typically carry voltage in the tens of kilovolts range. Transformer 104 steps the MV power down to low voltage (LV) power on LV lines 105, carrying voltage in the range of 100-240 VAC. Transformer 104 is typically designed to operate at very low frequencies in the range of 50-60 Hz. Transformer 104 does not typically allow high frequencies, such as signals greater than 100 KHz, to pass between LV lines 105 and MV lines 103. LV lines 105 feed power to customers via meters 106 a-n, which are typically mounted on the outside of residences 102 a-n. Although referred to as “residences,” premises 102 a-n may include any type of building, facility or location where electric power is received and/or consumed. A breaker panel, such as panel 107, provides an interface between meter 106 n and electrical wires 108 within residence 102 n. Electrical wires 108 deliver power to outlets 110, switches 111 and other electric devices within residence 102 n.

The power line topology illustrated in FIG. 1 may be used to deliver high-speed communications to residences 102 a-n. In some implementations, power line communications modems or gateways 112 a-n may be coupled to LV power lines 105 at meter 106 a-n. PLC modems/gateways 112 a-n may be used to transmit and receive data signals over MV/LV lines 103/105. Such data signals may be used to support metering and power delivery applications (e.g., smart grid applications), communication systems, high speed Internet, telephony, video conferencing, and video delivery, to name a few. By transporting telecommunications and/or data signals over a power transmission network, there is no need to install new cabling to each subscriber 102 a-n. Thus, by using existing electricity distribution systems to carry data signals, significant cost savings are possible.

An illustrative method for transmitting data over power lines may use, for example, a carrier signal having a frequency different from that of the power signal. The carrier signal may be modulated by the data, for example, using an orthogonal frequency division multiplexing (OFDM) scheme or the like.

PLC modems or gateways 112 a-n at residences 102 a-n use the MV/LV power grid to carry data signals to and from a base node, such as PLC data concentrator 114, without requiring additional wiring. Data concentrator 114 may be coupled to either MV line 103 or LV line 105. Modems or gateways 112 a-n may support applications such as high-speed broadband Internet links, narrowband control applications, low bandwidth data collection applications, or the like. In a home environment, for example, modems or gateways 112 a-n may further enable home and building automation in heat and air conditioning, lighting, and security. Also, PLC modems or gateways 112 a-n may enable AC or DC charging of electric vehicles and other appliances. An example of an AC or DC charger is illustrated as PLC device 113. Outside the premises, power line communication networks may provide street lighting control and remote power meter data collection.

One or more data concentrators 114 may be coupled to control center 130 (e.g., a utility company) via network 120. Network 120 may include, for example, an IP-based network, the Internet, a cellular network, a WiFi network, a WiMax network, or the like. As such, control center 130 may be configured to collect power consumption and other types of relevant information from gateway(s) 112 and/or device(s) 113 through concentrator(s) 114. Additionally or alternatively, control center 130 may be configured to implement smart grid policies and other regulatory or commercial rules by communicating such rules to each gateway(s) 112 and/or device(s) 113 through concentrator(s) 114.

In some embodiments, each concentrator 114 may be seen as a base node for a PLC domain, each such domain comprising downstream PLC devices that communicate with control center 130 through a respective concentrator 114. For example, in FIG. 1, device 106 a-n, 112 a-n, and 113 may all be considered part of the PLC domain that has data concentrator 114 as its base node; although in other scenarios other devices may be used as the base node of a PLC domain. In a typical situation, multiple nodes may be deployed in a given PLC network, and at least a subset of those nodes may be tied to a common clock through a backbone (e.g., Ethernet, digital subscriber loop (DSL), etc.). Further, each PLC domain may be coupled to MV line 103 through its own distinct transformer similar to transformer 104.

Still referring to FIG. 1, meter 106, gateways 112, PLC device 113, and data concentrator 114 may each be coupled to or otherwise include a PLC modem or the like. The PLC modem may include transmitter and/or receiver circuitry to facilitate the device's connection to power lines 103, 105, and/or 108.

FIG. 2 is a block diagram of PLC device or modem 113 according to some embodiments. As illustrated, AC interface 201 may be coupled to electrical wires 108 a and 108 b inside of premises 112 n in a manner that allows PLC device 113 to switch the connection between wires 108 a and 108 b off using a switching circuit or the like. In other embodiments, however, AC interface 201 may be connected to a single wire 108 (i.e., without breaking wire 108 into wires 108 a and 108 b) and without providing such switching capabilities. In operation, AC interface 201 may allow PLC engine 202 to receive and transmit PLC signals over wires 108 a-b. As noted above, in some cases, PLC device 113 may be a PLC modem. Additionally or alternatively, PLC device 113 may be a part of a smart grid device (e.g., an AC or DC charger, a meter, etc.), an appliance, or a control module for other electrical elements located inside or outside of premises 112 n (e.g., street lighting, etc.).

PLC engine 202 may be configured to transmit and/or receive PLC signals over wires 108 a and/or 108 b via AC interface 201 using a particular channel or frequency band. In some embodiments, PLC engine 202 may be configured to transmit OFDM signals, although other types of modulation schemes may be used. As such, PLC engine 202 may include or otherwise be configured to communicate with metrology or monitoring circuits (not shown) that are in turn configured to measure power consumption characteristics of certain devices or appliances via wires 108, 108 a, and/or 108 b. PLC engine 202 may receive such power consumption information, encode it as one or more PLC signals, and transmit it over wires 108, 108 a, and/or 108 b to higher-level PLC devices (e.g., PLC gateways 112 n, data concentrators 114, etc.) for further processing. Conversely, PLC engine 202 may receive instructions and/or other information from such higher-level PLC devices encoded in PLC signals, for example, to allow PLC engine 202 to select a particular frequency band in which to operate.

FIG. 3 is a block diagram of PLC gateway 112 according to some embodiments. As illustrated in this example, gateway engine 301 is coupled to meter interface 302, local communication interface 303, and frequency band usage database 304. Meter interface 302 is coupled to meter 106, and local communication interface 304 is coupled to one or more of a variety of PLC devices such as, for example, PLC device 113. Local communication interface 304 may provide a variety of communication protocols such as, for example, ZIGBEE, BLUETOOTH, WI-FI, WI-MAX, ETHERNET, etc., which may enable gateway 112 to communicate with a wide variety of different devices and appliances. In operation, gateway engine 301 may be configured to collect communications from PLC device 113 and/or other devices, as well as meter 106, and serve as an interface between these various devices and PLC data concentrator 114. Gateway engine 301 may also be configured to allocate frequency bands to specific devices and/or to provide information to such devices that enable them to self-assign their own operating frequencies.

In some embodiments, PLC gateway 112 may be disposed within or near premises 102 n and serve as a gateway to all PLC communications to and/or from premises 102 n. In other embodiments, however, PLC gateway 112 may be absent and PLC devices 113 (as well as meter 106 n and/or other appliances) may communicate directly with PLC data concentrator 114. When PLC gateway 112 is present, it may include database 304 with records of frequency bands currently used, for example, by various PLC devices 113 within premises 102 n. An example of such a record may include, for instance, device identification information (e.g., serial number, device ID, etc.), application profile, device class, and/or currently allocated frequency band. As such, gateway engine 301 may use database 304 in assigning, allocating, or otherwise managing frequency bands assigned to its various PLC devices.

FIG. 4 is a block diagram of a PLC data concentrator according to some embodiments. Gateway interface 401 is coupled to data concentrator engine 402 and may be configured to communicate with one or more PLC gateways 112 a-n. Network interface 403 is also coupled to data concentrator engine 402 and may be configured to communicate with network 120. In operation, data concentrator engine 402 may be used to collect information and data from multiple gateways 112 a-n before forwarding the data to control center 130. In cases where PLC gateways 112 a-n are absent, gateway interface 401 may be replaced with a meter and/or device interface (now shown) configured to communicate directly with meters 116 a-n, PLC devices 113, and/or other appliances. Further, if PLC gateways 112 a-n are absent, frequency usage database 404 may be configured to store records similar to those described above with respect to database 304.

Network elements that communicate using the PRIME standard may be arranged in subnetworks. A subnetwork has a single base node and one or more services nodes that branch from the base node in one or more levels. The base node acts as a master node and provides the subnetwork with connectivity. The base node manages the subnetwork resources and connections. The base node is initially the only node in the subnetwork and other nodes follow a registration process to enroll on the subnetwork.

Service nodes may operate in one of three functional states: disconnected, terminal, or switch. Service nodes start in a disconnected state during which the node is not capable of communicating or switching the traffic of another node. In the disconnected state, a service node searches for an operational network and attempts to register on the network. In the terminal state, a service node is capable of communicating its traffic, but it is not capable of switching traffic for any other node. In the switch state, a service node is capable of performing all terminal functions and is capable of forwarding data to and from other devices on the subnetwork.

Each service node has a level in the subnetwork topology. The nodes that are connected directly to the base node have level 1. The level of any service node not directly connected to the base node is the level of its respective switch node plus one.

FIG. 5 illustrates a subnetwork 500 according to an example embodiment. Base node 501 is connected to nodes 502-505, which are on level 1 in the subnetwork. Nodes 502 and 504 have been promoted to switch node, and nodes 503 and 505 operate as service nodes. Nodes 506 and 507 are on level 2 of the subnetwork and connect through switch node 502. Node 508 is also on level 2 and is connected through switch node 504. Node 507 has been promoted to switch node and provides a connection to service node 509, which is on level 3 of the subnetwork.

Multicast and broadcast addresses are used for transmitting data information within subnetwork 500. There are several broadcast and multicast address types, depending on the context associated with the traffic flow. A broadcast identifier is used as a destination address for packets that should reach every node of the subnetwork. A multicast identifier is used as a destination address for multicast groups. A unicast address refers to a particular node within the subnetwork with an identifier that match the address fields in the unicast address.

A MAC frame defines a time for channel usage. A frame is comprised of one or more beacons, a shared contention period (SCP), and zero or one contention free period (CFP). The transmission of a beacon by the base node acts as delimiter for the MAC frames.

FIG. 6 illustrates the structure of a MAC frame according to one embodiment. A beacon is always MACBeaconLength symbols long, and the frame is MACFrameLength symbols long. A superframe comprises thirty-two consecutive frames.

A service node starts in a disconnected state. The only function performed in the disconnected state is reception of any beacons on the channel. Each service node may maintain a switch table that is updated with the reception of a beacon from any new switch node. A service node may select any switch node from the switch table and proceed with the registration process with that switch node.

Base nodes are primarily responsible for setting up and maintaining the subnetwork. The base node and all the switch nodes on the subnetwork broadcast beacons at fixed intervals of time. The base node always transmits exactly one beacon per frame. Switch nodes transmit beacons with a frequency prescribed by the base node.

The time in which a BPDU is transmitted is referred to as a beacon-slot. All beacon-slots are located at the beginning of a frame, as shown in FIG. 6. A beacon protocol data unit (BPDU) is transmitted in every frame by the base node. The base node BPDU is transmitted at a regular intervals equivalent to MACFrameLength−MACBeaconLength. The switch nodes also transmit BPDUs to maintain their connections within the subnet. The switch nodes also transmit BPDUs at regular times. The switch node is not required to transmit its BPDU in every frame. However, the switch node must transmit at least once within a superframe.

The first beacon-slot in every frame is reserved for the base node. The number of beacon-slots in a frame may change from one frame to another and is indicated by the base node in its BPDU. The switch nodes are allocated a beacon-slot at the time of their promotion from service node. With the registration of each new switch node on the subnet, the base node may change the beacon-slot and/or transmission frequency of already registered switch nodes.

During the reorganization of beacon-slots, if there is a change in the beacon-slot count per frame, the base node should transmit a frame control packet to the entire subnetwork. The frame control packet is an indication of change in the overall frame structure, such as changes in the number of beacon, SCP, or CFP slots. Switch nodes that receive a frame control packet relay it to all connected nodes. This is required for the entire subnetwork to have a common understanding of frame structure, especially in regions where a controlling switch node transmits BPDUs at frequencies less frequently than once per frame.

The beacon slot allocation policy ensure that during promotion a service node is never assigned to transmit a beacon in a slot consecutive to beacons from the node to which it is registered. For example, switch nodes in level 1, which are directly connected to the base node, do not transmit beacons in slot 1 because it is directly adjacent to the base node's beacons in slot 0.

When changing the frame structure, to add or remove beacon slots, or to change which beacon slot that a switch node should use, it is necessary to indicate when such a change should occur. All nodes must change at the same time otherwise there may be collisions with the beacons transmitted by different nodes. A beacon superframe comprises thirty-two frames. Each beacon contains a five-bit sequence number. Any messages that contain changes to the structure or usage of the frame include a sequence number identifying when the change should occur. The changes requested should only happen when the beacon sequence number matches the sequence number in the change request.

A beacon slot allocation algorithm may be used to assign beacon slots to switch nodes in the subnetwork. In one embodiment, the number of beacon slots is set to five (assigned as slots 0, 1, 2, 3, and 4). It will be understood that a different numbers of beacon slots may be used in other embodiments.

The first slot (slot 0) is used only for base node beacons, which are transmitted in every frame. The switch nodes are not assigned to the first slot to ensure that there is no interference with the base node beacons. The switch nodes receive the base node beacons in each frame. The switch nodes should not be assigned slot 1 to provide time for the switch nodes to transition from receiver (of the base node beacon in slot 0) to transmitter (of their own beacon) in the assigned slot. Similarly, the switch nodes should not be assigned a beacon slot that is adjacent to the slot used by a parent or child switch node to allow time for each switch node to transition between transmitter and receiver states.

Referring to FIG. 5, for example, if base node 501 transmits in slot 0, then switch node 502 may transmit its beacon in slots 2, 3, or 4, but not slot 1. However, switch node 507 also must not transmit its beacon in a slot adjacent to the beacon slot assigned to switch node 502. So, if switch node 502 transmits in slot 2, then switch node 507 can only transmit in beacon slot 4 in the same frame.

In an example beacon assignment algorithm, all switch nodes use a frequency of four for beacon transmissions, which means that the switch nodes each transmit a beacon once every sixteen frames. This ensures at least two beacons per switch node per superframe. The switch nodes are assigned non-overlapping slots and/or patterns as much as possible.

For up to thirty-two switch nodes, the nodes are guaranteed to have a non-overlapping slot or pattern by choosing slots 2 and 4. Sixteen switch nodes can be accommodated by using each slot with a frequency of four. Since each switch node will be assigned a different slot or pattern, it is guaranteed that the first thirty-two switches will have no overlapping pattern at any point of time.

FIG. 7 illustrates an example distribution of thirty-two switch nodes using slots 2 and 4. The base node transmits in slot 0 in all frames. The switch nodes are assigned sequentially to slots 2 and 4 without regard to the level of each switch node. As illustrated, it takes sixteen frames for each switch node to transmit one beacon in this manner. By repeating the pattern again, each switch node may transmit two beacons during a thirty-two-frame superframe.

If the subnetwork has more than thirty-two switch nodes, then the algorithm must be modified. The algorithm determines the slot, frequency, and sequence of the beacon-slot assignment as follows:

-   -   Any switch node belonging to level 1 is assigned slot 3 with a         frequency of four. This avoids border interference with the base         node beacon in slot 0 and allows for turnaround processing.     -   Any switch node belonging to level 2 or above can be assigned to         slot 1 (if available) or slot 3. Slot 1 is available to the         switch nodes on level 2 or higher because they are not directly         connected to the base node on level 0. Instead, the switch nodes         on levels 2 or higher receive a beacon in slot 3 from a switch         node on level 1.     -   The parent-child switch node relationship is preserved by         ensuring that a child switch node transmits either in a         different slot (while maintaining a one-gap slot separation if         using the same pattern) and/or in a different pattern than its         parent switch node.

This will allow for accommodating up to sixty-four switch nodes with care to avoid interference between parent-child switch nodes as much as possible.

For subnetworks with more than sixty-four switch nodes, the available slots may be reused. For example, the algorithm may adopt an n-level—such as a 2-level—separation rule. When a new switch node is added to the subnetwork, the beacon allocation algorithm ensures that it re-uses the first available slot that is used by a switch node that is n-levels away—either n-levels above as a grandparent or n-levels below as a grandchild—of the new switch node. This allows for new switch nodes to cause minimal interference to the already existing switch node.

The parent-child relationship is preserved in these larger than sixty-four switch node systems by ensuring that the switch nodes transmit in different slots (separated by one slot if using the same pattern) and/or in a different pattern.

FIG. 8 illustrates a portion of a subnetwork 800 having more than thirty-two switch nodes, including base node 801 and service nodes 802-813 spread across three levels. Each switch node 802-813 may support multiple service nodes (not shown).

FIG. 9 is a table illustrating how switch nodes on multiple levels, such as the switch nodes in FIG. 8, can be distributed to support more than thirty-two switch nodes. This example assignment allows switch nodes on the same level to maintain separation from their parent node. However, switch nodes on the same level may transmit at the same time on the same slot if they have different parent nodes. For example, nodes 809, 810, and 811 may use the same slot and frame assignment because their beacons will not be received by the same parent node.

FIG. 10 illustrates another example of a beacon slot allocation policy according to another embodiment using slot, time, and spatial separation. Slot separation allows two switch nodes to use different slots within the same frame. Time separation allows two switch nodes to use the same or adjacent slots, but in different frames. Spatial separation allows two switch nodes to use the same or adjacent slots in the same frame if the nodes are separated by a certain number of levels.

Switch nodes 1 and 34 use slot separation to deconflict their beacon transmissions. Both nodes use the same sequence or pattern of beacon transmission in frames zero and sixteen, but switch node 1 transmits in slot 2 and switch node 34 transmits in slot 3. Both of these slots maintain at least one empty slot from the base node. However, switch nodes 1 and 34 transmit beacons to different groups of child nodes, so the one-slot separation is not required for their transmissions.

Switch nodes 3 and 11 use time separation to deconflict their beacon transmissions. Both nodes are child nodes of switch node 2 and both nodes are transmitting their beacon in slot 2. However, nodes 3 and 11 are using different patterns for when they transmit. Node 3 transmits beacons in slots 2 and 18, while node 11 transmits beacons in slots 10 and 26.

Switch nodes 33 and 35 use spatial separation to deconflict their beacon transmissions. Nodes 33 and 35 are on level 2, but have different parent nodes on level 1. Even if nodes 33 and 35 use the same slot and frame sequence pattern to transmit beacons, the beacons will not conflict because the nodes are separate by at least two other nodes.

It will be understood that various operations illustrated in FIGS. 6 and/or 7 may be executed simultaneously and/or sequentially. It will be further understood that each operation may be performed in any order and may be performed once or repetitiously. In various embodiments, the blocks shown in FIGS. 6 and/or 7 may represent sets of software routines, logic functions, and/or data structures that are configured to perform specified operations. Although these modules are shown as distinct logical blocks, in other embodiments at least some of the operations performed by these modules may be combined in to fewer blocks. Conversely, any given one of the modules shown in in FIGS. 6 and/or 7 may be implemented such that its operations are divided among two or more logical blocks. Moreover, although shown with a particular configuration, in other embodiments these various modules may be rearranged in other suitable ways.

Many of the operations described herein may be implemented in hardware, software, and/or firmware, and/or any combination thereof. When implemented in software, code segments perform the necessary tasks or operations. The program or code segments may be stored in a processor-readable, computer-readable, or machine-readable medium. The processor-readable, computer-readable, or machine-readable medium may include any device or medium that can store or transfer information. Examples of such a processor-readable medium include an electronic circuit, a semiconductor memory device, a flash memory, a ROM, an erasable ROM (EROM), a floppy diskette, a compact disk, an optical disk, a hard disk, a fiber optic medium, etc.

Software code segments may be stored in any volatile or non-volatile storage device, such as a hard drive, flash memory, solid state memory, optical disk, CD, DVD, computer program product, or other memory device, that provides tangible computer-readable or machine-readable storage for a processor or a middleware container service. In other embodiments, the memory may be a virtualization of several physical storage devices, wherein the physical storage devices are of the same or different kinds. The code segments may be downloaded or transferred from storage to a processor or container via an internal bus, another computer network, such as the Internet or an intranet, or via other wired or wireless networks.

Many modifications and other embodiments of the invention(s) will come to mind to one skilled in the art to which the invention(s) pertain having the benefit of the teachings presented in the foregoing descriptions, and the associated drawings. Therefore, it is to be understood that the invention(s) are not to be limited to the specific embodiments disclosed. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation. 

The invention claimed is:
 1. A device comprising: a communications interface; at least one processor coupled to the communications interface; a non-transitory memory coupled to the at least one processor and storing instructions that, when executed, cause the at least one processor to: allocate beacon slots from a set of available beacon slots to a set of switch nodes coupled to the communications interface, wherein: the set of available beacon slots includes a first beacon slot, a second beacon slot following the first beacon slot, a third beacon slot following the second beacon slot, a fourth beacon slot following the third beacon slot, and a fifth beacon slot following the fourth beacon slot; and the allocation of the beacon slots includes: determining whether a count of the set of switch nodes exceeds a threshold; and in response to the count of the set of switch nodes being less than the threshold: allocating each node of the set of switch nodes a slot selected from a group consisting of the third beacon slot and the fifth beacon slot that is different from a slot allocated to an immediately previously allocated node of the set of switch nodes; and allocating each node of the set of switch nodes a frame of a superframe in which to transmit a beacon that is:  the same as a frame of the superframe allocated to the previously allocated node when the frame allocated to the previously allocated node has not been allocated to any node of the set of switch nodes other than the previously allocated node; and  otherwise, one greater than the frame allocated to the previously allocated node.
 2. The device of claim 1, wherein the allocation of the beacon slots further includes: in response to the count of the set of switch nodes being greater than the threshold: for a first subset of the set of switch nodes that are in communication with the communications interface without an intervening switch node: allocating the fourth beacon slot to each node of the first subset; and allocating each node of the set of switch nodes a frame of the superframe that is different from a frame allocated to a remainder of the first subset.
 3. The device of claim 2, wherein the allocation of the beacon slots further includes: in response to the count of the set of switch nodes being greater than the threshold: for a second subset of the set of switch nodes that are in communication with the communications interface via an intervening switch node: allocating each node of the second subset a slot and a frame such that at least one of the slot and the frame of the respective node is different from a slot and a frame allocated to each node of the second subset that is in communication with the respective node without an intervening switch node.
 4. The device of claim 1, wherein: the frame allocated to each node of the set of switch nodes is a first frame of the respective node; and the allocation of the beacon slots includes allocating each node of the set of switch nodes a second frame of the superframe in which to transmit a beacon that is a number of frames after the first frame allocated to the respective node.
 5. The device of claim 1, wherein the allocation of the beacon slots reserves the first beacon slot for the device.
 6. The device of claim 1, wherein the instructions include further instructions that, when executed, cause the at least one processor to transmit a frame control packet via the communication interface that indicates the allocation of the beacon slots to the set of switch nodes.
 7. The device of claim 6, wherein the frame control packet further indicates when the allocation of the beacon slots to the set of switch nodes is to begin.
 8. The device of claim 1, wherein the allocation of the beacon slots is such that, when the count of the set of switch nodes is less than the threshold, the second beacon slot and the fourth beacon slot remain unallocated.
 9. A method comprising: allocating, by a base node, beacon slots from a set of available beacon slots to a set of switch nodes in a network, wherein the allocating of the beacon slots includes: allocating each node of the set of switch nodes a slot selected from a group consisting of a third beacon slot of the set of available beacon slots and a fifth beacon slot of the set of available beacon slots that is separated from the third beacon slot by a fourth beacon slot such that the slot allocated to the respective node is different from a slot allocated to an immediately previously allocated node of the set of switch nodes; and allocating each node of the set of switch nodes a frame of a superframe in which to transmit a beacon that is: the same as a frame of the superframe allocated to the previously allocated node when the frame allocated to the previously allocated node has not been allocated to any node of the set of switch nodes other than the previously allocated node; and otherwise, one greater than the frame of the superframe allocated to the previously allocated node.
 10. The method of claim 9, wherein the set of available beacon slots includes, per frame, a first beacon slot, a second beacon slot following the first beacon slot, the third beacon slot following the second beacon slot, the fourth beacon slot following the third beacon slot, and the fifth beacon slot following the fourth beacon slot.
 11. The method of claim 10, wherein the allocating of the beacon slots to the set of switch nodes includes allocating the first beacon slot to the base node.
 12. The method of claim 10, wherein the allocating of the beacon slots to the set of switch nodes is such that the second beacon slot and the fourth beacon slot remain unallocated.
 13. The method of claim 9, wherein: the frame allocated to each node of the set of switch nodes is a first frame of the respective node; and the allocating of the beacon slots includes allocating each node of the set of switch nodes a second frame of the superframe in which to transmit a beacon that is a number of frames after the first frame allocated to the respective node.
 14. The method of claim 9, wherein the allocating of the beacon slots is such that each node of the set of switch nodes has at least two frames in which to transmit a beacon during the superframe.
 15. A method comprising: allocating, by a base node, beacon slots from a set of available beacon slots to a set of switch nodes in a network, wherein: the set of available beacon slots includes, per frame, a first beacon slot, a second beacon slot following the first beacon slot, a third beacon slot following the second beacon slot, a fourth beacon slot following the third beacon slot, and a fifth beacon slot following the fourth beacon slot; and the allocating of the beacon slots includes: determining whether a count of nodes in the set of switch nodes is less than a threshold; and based on the count of nodes being less than the threshold, allocating each node of the set of switch nodes a slot from the set of available beacon slots and a frame of a superframe such that the slot of each node has at least one unallocated beacon slot of the set of available beacon slots between the slot of the respective node and the slots of any other nodes of the set of available beacon slots that are allocated the same frame.
 16. The method of claim 15 wherein the allocating of the slot and the frame to each node includes: allocating the slot to be selected from a group consisting of the third beacon slot and the fifth beacon slot such that the slot allocated to the respective node is different from a slot allocated to an immediately previously allocated node of the set of switch nodes; and allocating the frame to be: the same as a frame of the superframe allocated to the previously allocated node when the frame allocated to the previously allocated node has not been allocated to any node of the set of switch nodes other than the previously allocated node; and otherwise, one greater than the frame of the superframe allocated to the previously allocated node.
 17. The method of claim 15, wherein the allocating of the beacon slots to the set of switch nodes is such that the second beacon slot and the fourth beacon slot remain unallocated.
 18. The method of claim 15, further comprising, based on the count of nodes being greater than the threshold: for a first subset of the set of switch nodes that are in communication with the base node without an intervening switch node: allocating the fourth beacon slot to each node of the first subset; and allocating each node of the set of switch nodes a frame of the superframe that is different from a frame allocated to a remainder of the first subset; and for a second subset of the set of switch nodes that are in communication with the base node via an intervening switch node: allocating each node of the second subset a slot and a frame such that at least one of the slot and the frame of the respective node is different from the slot and the frame allocated to each node of the second subset that is in communication with the respective node without an intervening switch node.
 19. The method of claim 15, further comprising transmitting a frame control packet that indicates the allocation of the beacon slots to the set of switch nodes.
 20. The method of claim 15, wherein the allocating of the beacon slots is such that each node of the set of switch nodes has at least two frames in which to transmit a beacon during the superframe. 